package com.bondex.charter.maindata.pojo.dto;

import com.bondex.bondexapi.maindata.pojo.dto.B0000Query;
import com.bondex.charter.maindata.po.BaseSeaVoyageDetail;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.List;
import java.util.Map;

/**
 * 航次(BaseSeaVoyage)实体类
 *
 * @author swl
 * @since 2021-04-06 16:32:02
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Getter
@Setter
public class BaseSeaVoyageDTO extends B0000Query {

	/**
	 * 查询模式  queryPort：查询挂港；queryNoRouting：查询船名航次无挂港：为空：普通方式
	 */
	private String queryMode;

	/**
	 * 船舶编码
	 */
	private String vesselNo;

	/**
	 * 船舶名称
	 */
	private String vesselNameEN;

	/**
	 * 船舶名称
	 */
	private String vesselName;

	/**
	 * 船舶所属船公司编码（ES存储使用）
	 */
	private String vesselCarrierCode;
	/**
	 * 船舶所属船公司中文名称（ES存储使用）
	 */
	private String vesselCarrierNameCN;
	/**
	 * 船舶所属船公司英文名称（ES存储使用）
	 */
	private String vesselCarrierNameEN;

	private String vesselCarrierName;

	/**
	 * 船名航次，用于ES模糊查询
	 */
	private Map vesselVoyage;

	/**
	 * 航次
	 */
	private String voyage;

	/**
	 * 数据来源
	 */
	private String dataSource;

	/**
	 * 提单航次
	 */
	private String billVoyage;

	/**
	 * 船公司代码，此处与船公司航线对应
	 */
	private String carrierCode;

	/**
	 * 船公司英文名称（ES存储使用）
	 */
	private String carrierNameEN;

	/**
	 * 船公司中文名称（ES存储使用）
	 */
	private String carrierName;

	/**
	 * 船公司航线
	 */
	@JsonProperty("SVC")
	private String SVC;

	/**
	 * 航线中文名称（ES存储使用）
	 */
	private String carrierLineName;

	/**
	 * 航线英文名称（ES存储使用）
	 */
	private String carrierLineNameEN;

	/**
	 * 船公司所属国家编码（ES存储使用）
	 */
	private String countryCode;

	/**
	 * 船公司所属国家英文名称（ES存储使用）
	 */
	private String countryNameEN;

	/**
	 * 船公司所属国家英文名称（ES存储使用）
	 */
	private String countryName;

	/**
	 * 总舱位
	 */
	private String shippingSpaceNum;

	/**
	 * 分公司代码
	 */
	private String corpCode;

	/**
	 * 数据类型(二进制存储)
	 */
	private String dataType;
	/**
	 * 创建者
	 */
	/*private String createUser;

	*//**
	 * 创建时间
	 *//*
	private Date createDate;

	*//**
	 * 更新者
	 *//*
	private String updateUser;

	*//**
	 * 更新时间
	 *//*
	private Date updateDate;

	*//**
	 * 审核人
	 *//*
	private String auditUser;

	*//**
	 * 审核时间
	 *//*
	private Date auditDate;*/

	/**
	 * 删除标志
	 */
	private String delFlg;

	/**
	 * 航线详情
	 */
	//private BaseSeaVoyageDetail detail;

	/**
	 * 挂港港口编码
	 */
	private String loadingPortCode;

	/**
	 * 挂港目的港港口编码（queryPort模式时使用）
	 */
	private String destinationPortCode;

	/**
	 * 挂港港口名称
	 */
	private String loadingPort;

	/**
	 * 挂港信息
	 */
	private List<BaseSeaVoyageDetail> routings;
}
